package com.enjoyor.soa.traffic.api.service.dubbo.fms;

import java.util.List;

import com.enjoyor.soa.traffic.api.dto.fms.FileInfoDto;
import com.enjoyor.soa.traffic.api.dto.fms.LogUserDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 资料信息接口
 * 
 * @author Administrator
 *
 */
public interface DubboFileInfoService {
	/**
	 * 根据用户id、文件类型 、资料等级查找资料
	 * 
	 * @param token
	 * @param systemKey
	 * @param fileId
	 *            资料编号
	 * @param fileName
	 *            资料名称
	 * @param fileType
	 *            资料类型
	 * @param uploaderId
	 *            用户id
	 * @param uploaderName
	 *            用户名称
	 * @param key
	 *            关键字
	 * @param beginTime
	 *            开始时间
	 * @param endTime
	 *            结束时间
	 * @return
	 */
	public ResultPojo getFileInfo(String token, String systemKey, LogUserDto logUser, String fileId, String fileName,
			String fileType, String uploaderId, String uploaderName, String key, String beginTime, String endTime);

	/**
	 * 根据用户id、文件类型 、资料等级分页查找资料
	 * 
	 * @param token
	 * @param systemKey
	 * @param fileId
	 *            资料编号
	 * @param fileName
	 *            资料名称
	 * @param fileType
	 *            资料类型
	 * @param uploaderId
	 *            用户id
	 * @param uploaderName
	 *            用户名称
	 * @param key
	 *            关键字
	 * @param beginTime
	 *            开始时间
	 * @param endTime
	 *            结束时间
	 * @param page
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageFileInfo(String token, String systemKey, LogUserDto logUser, String fileId,
			String fileName, String fileType, String uploaderId, String uploaderName, String key, String beginTime,
			String endTime, Page page);

	/**
	 * 增加资料
	 * 
	 * @param token
	 * @param systemKey
	 * @param fileinfodto
	 * @return
	 */
	public ResultPojo addFileInfo(String token, String systemKey, LogUserDto logUser, FileInfoDto fileinfodto);

	/**
	 * 修改资料
	 * 
	 * @param token
	 * @param systemKey
	 * @param fileinfodto
	 * @return
	 */
	public ResultPojo editFileInfo(String token, String systemKey, LogUserDto logUser, FileInfoDto fileinfodto);

	/**
	 * 删除资料
	 * 
	 * @param token
	 * @param systemKey
	 * @param fileid
	 * @return
	 */
	public ResultPojo removeFileInfo(String token, String systemKey, LogUserDto logUser, String fileid);

	/**
	 * 获取主页资料信息
	 * 
	 * @param token
	 * @param systemKey
	 * @param logUser
	 * @param fileType
	 * @return
	 */
	public ResultPojo getHomeFileInfo(String token, String systemKey, LogUserDto logUser, List<String> fileType);
}
